/*
 * Copyright (C) 2014 Tolstykh Vladislav
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

package lib.scripture;

import java.util.Enumeration;
import java.util.Vector;

/**
 * Глава книги Библии.
 * @author Толстых Владислав
 */
public class Chapter implements Enumeration<Verse>{    
    private final String ID;
    private Vector<Verse> verses;
    private int enumeration;
    
    /**
     * Новая глава.
     * @param id номер главы ничиная с 1
     */
    public Chapter(String id) {
        this.ID = id;
        verses = new Vector();        
        enumeration = -1;
    }
    
    /**
     * Порядковый номер главы.
     * @return номер начиная с 1
     */
    public int id(){
        return Integer.parseInt(ID);
    }
    
    /**
     * Количество стихов в этой главе.
     * @return стихов всего
     */
    public int size(){
        return verses.size();
    }
    
    /**
     * Получить стих
     * @param id номер стиха начиная с 0
     * @return стих целиком
     */
    public Verse verseAt(int id){
        return verses.get(id);
    }
    
    /**
     * Добавить стих.
     * @param verse стих
     */
    void add(Verse verse){
        verses.add(verse);
    }

    @Override
    public boolean hasMoreElements() {
        return enumeration < size()-1;
    }

    @Override
    public Verse nextElement() {
        enumeration++;
        return verseAt(enumeration);
    }

}
